# coding: utf-8
'''

闭包(比如装饰器)

当一个内嵌函数引用其外部作用域中的变量, 就会得到一个闭包
创建闭包要满足以下特点:
	1.必须有内嵌函数
	2.内嵌函数必须引用外部函数的变量
	3.外部函数的返回值必须是内嵌函数
当闭包函数 被引用的外部作用域中的变量将会和整个函数一同存在
'''
def func1():
    a =1
    def func2():
    	a += 1
        return a
    return func2
re=func1()
print re()
# print re()